带I2C串行CMOS EEPROM、精密复位控制器和看门狗定时器的监控电路 特性 看门狗监控SDA信号 (CAT1161) 兼容400KHz 的I2C总线 操作电压范围为2.7V~6.0V 低功耗CMOS 技术 16 字节的页写缓冲区 内置误写保护电路-Vcc锁定-写保护管脚WP 复位高电平或低电平有效-精确的电源电压监控-支持5V,3.3V 和3V 的系统-5个复位门槛电压可供选择 1,000,000个编程/擦除周期 手动复位 数据可保存100 年 8 脚DIP 封装或8 脚SOIC 封装 商业和工业级温度范围描述CAT1161/2 为基于微控器的系统提供了一个完整的存储器和电源监控解决方案。它们利用低功耗CMOS技术将16k带硬件存储器写保护功能的串行EEPROM 存储器、用于掉电保护的电源监控电路和一个看门狗定时器集成到一块芯片上。存储器采用I2C 总线接口。当系统由于软件或硬件干扰而被终止或“挂起”时,1.6 秒的看门狗电路将复位系统,使系统恢复正常。CAT1161的看门狗电路监控着SDA,这就可以省去额外的PC板跟踪电路。低价位的CAT1162不含看门狗定时器。电源监控和复位电路可在系统上电/下电时保护存储器和系统控制器,防止掉电条件的产生。CAT1161/2的5个门槛电压可支持5V、3.3V和3V的系统。一旦电源电压超出范围,复位信号有效,禁止微控制器、ASIC或外围器件继续工作。复位信号在电源电压超过复位门槛电压后的200ms内仍保持有效。由于带有高电平和低电平复位信号,因此CAT1161/2可以很方便地连接到微控制器和其它IC。另外,复位管脚还可用作手动按键复位的去抖输入。 CAT1161/2 的存储器构造成16字节的页。除此之外,写保护管脚WP和VCC 检测电路提供的硬件数据保护功能可防止在Vcc降到低于复位门槛电压或上电时Vcc上升到复位门槛电压之前对存储器的写操作。器件包含8脚DIP和表贴8脚SOIC两种封装形式。
上传时间: 2014-03-19
上传用户:虫虫虫虫虫虫
EM78单片机与24Cxx / 85Cxx 串行CMOS EEPROM接口I2C总线读/写的程序 ** (所有时隙均基于2MHZ晶体震荡器频率)
上传时间: 2013-12-26
上传用户:ynsnjs
用C写的基于单片机控制AT24C02 I2C串行总线EEPROM的读写程序。
上传时间: 2014-09-01
上传用户:bcjtao
大容量FPGA数据的EEPROM串行加载
上传时间: 2013-08-23
上传用户:GeekyGeek
摘要:传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性,受到了广大用户的亲睐。本文介绍一种基于单片机和串行EEPROM的智能密码锁,对系统硬件设计和软件实现进行了详细的描述。该系统采用STC89C51单片机和AT24C02串行EEPROM,通过STC89C51模拟I2C总线和AT24C02通讯来读取存储的密码,用户通过键盘输入的密码,实现密码锁的功能。
上传时间: 2013-12-09
上传用户:JasonC
用C18编译器进行Microwire串行EEPROM与PIC18单片机的接口设计 AN1004中文资料 目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM 具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的首选。 为了满足市场需求, Microchip Technology 已经推出了一整套符合工业标准的串行EEPROM,覆盖了2 线式(I2C™)、3 线式(Microwire)和SPI 通信标准,并提供了不同的存储容量、工作电压范围和封装形式。
上传时间: 2013-10-22
上传用户:crazyer
目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM 具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的首选。
上传时间: 2013-11-13
上传用户:invtnewer
SPI接口读写串行EEPROM:93C46为采用3线串行同步总线SPI接口方式的EEPROM,其芯片引脚名称和功能描述如图1-1:
上传时间: 2013-11-19
上传用户:taozhihua1314
串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 { nTimeOut++; if(nTimeOut>1000)//超时了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上传时间: 2013-11-12
上传用户:gut1234567
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了Aurora 协议数据帧格式定义的弊端, 并采用高速串行收发器Rocket I/O, 实现数据率为2.5 Gbps的高速串行传输。关键词: 高速串行传输; Rocket I/O; Aurora 协议 为促使FPGA 芯片与串行传输技术更好地结合以满足市场需求, Xilinx 公司适时推出了内嵌高速串行收发器RocketI/O 的Virtex II Pro 系列FPGA 和可升级的小型链路层协议———Aurora 协议。Rocket I/O支持从622 Mbps 至3.125 Gbps的全双工传输速率, 还具有8 B/10 B 编解码、时钟生成及恢复等功能, 可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora 协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议, 可用于高速线性通路之间的点到点串行数据传输, 同时其可扩展的带宽, 为系统设计人员提供了所需要的灵活性[4]。但该协议帧格式的定义存在弊端,会导致系统资源的浪费。本文提出的设计方案可以改进Aurora 协议的固有缺陷,提高系统性能, 实现数据率为2.5 Gbps 的高速串行传输, 具有良好的可行性和广阔的应用前景。
上传时间: 2013-11-06
上传用户:smallfish